Infográficos do Observatório

Construção e publicação dos Infográficos

Tópicos

  • Processo de Análises (ETL -> Análises -> Relatórios -> Automatização -> Observatório

  • Possibilidades de Análises e construção de Relatórios

  • Criação de Infográficos

  • Publicação e Automatização (GITHUB)

  • Observatório (Plone)

O que é RMarkdown?

  • O R Markdown é um pacote para criação de relatórios automatizados utilizando as linguagens de programação R, Python e de marcação Markdown.

Linguagens de marcação utilizam marcadores (símbolos, tags, funções) para formatar um arquivo de texto simples. Os exemplos mais famosos de linguagem de marcação são o HTML e LaTeX.

Referência do quarto: https://quarto.org/docs/websites.

O que podemos fazer com essa ferramenta?

  • Possibilita automatizar a criar produtos com o R e Python, através do pacote Reticulate @reticulate que integra o R com Python. Com ele também é possível fazer a conexão com o SAS através da biblioteca SASPY

https://www.youtube.com/watch?v=A2-Ti-c6w8c&feature=youtu.be https://rstudio.github.io/reticulate/index.html https://bookdown.org/yihui/rmarkdown-cookbook/eng-python.html

  • Com exceção das interpretações e conclusões, só precisamos montá-lo uma vez. A partir daí, com apenas um clique podemos:

    • replicar o relatório para diversas versões da base de dados (modificações, correções, processos periódicos);

    • replicar o relatório para diversas variáveis.

    • Criar documentos reprodutíveis

    • Criar diversos tipos de produtos

Exemplos de integraçao R e Python

library(reticulate)

Crie uma variável x na sessão do Python

x = [1, 2, 3]

Acesse a variável Python x em um pedaço de código R:

py$x
[1] 1 2 3

Crie uma nova variável y na sessão Python usando R, e passe um quadro de dados para y:

py$y <- head(cars)

Imprima a variável y em Python:

print(y)
   speed  dist
0    4.0   2.0
1    4.0  10.0
2    7.0   4.0
3    7.0  22.0
4    8.0  16.0
5    9.0  10.0

Algumas aplicações

Pacote O que podemos fazer? Exemplos
distill Blogs e sites - RStudio AI Blog
bookdown Livros - Livro Ciência de Dados em R
- R for Data Science
xaringan Apresentações - Essa apresentação
- Build Your Own Universe - Garrick Aden-Buie & Travis Gerke

Pacote O que podemos fazer? Exemplos
pagedown Currículos, cartas e trabalhos acadêmicos - Relatório do Observatório da Insolvência
flexdashboard Dashboards - Tesouro Nacional
learnr Tutoriais interativos - Text mining with tidy data principles
- Teacups, Giraffes, & Statistics

Pacote O que podemos fazer? Exemplos
rticles Artigos científicos
Outros exemplos Newsletter Garimpo

Estrutura dos relatórios

Todo arquivo RMarkdown/Quarto terá a seguinte estrutura:

  • Um preâmbulo com configurações
---
title: "Relatório maravilhoso"
output: html_document
---
  • Blocos de texto (marcados em Markdown)
Texto em __RMarkdown/Quarto__!

  • Blocos de código (em R ou outra linguagem)
```{r}
print("ola, codigo R")
```

Dependendo do formato de saída, o documento pode precisar ser dividido em vários arquivos ou precisar de arquivos adicionais.

Sintaxe Markdown

Utilizamos Markdown para marcar os textos do relatório.

Principais marcadores utilizados para formatar texto:

  • uma palavra entre asteriscos fica em itálico: *texto* é transformado em texto

  • .uma palavra entre dois asteríscos fica em negrito: **texto** é transformado em texto

  • um ou mais hashtags viram títulos: # Título muito grande, ## Título grande, ### Título médio, #### Título pequeno, ##### Título muito pequeno

  • hiperlinks podem ser criados com a estrutura [texto](link):

  • [link para o site da Curso-R](https://curso-r.com) é transformado em link para o site da Curso-R.

  • para deixar o texto com esse formato (formato de código), apenas coloque o texto entre duas crases.

Material de consulta: Livro: Ciência de Dados em R - Seção sobre Markdown

Visual Editor

  • As versões mais recentes do RStudio permitem usar o Visual Editor.

Leitura indicada:

Fonte: Posit

Chunks - Campos de código

  • Em um arquivo .qmd ou .Rmd, precisamos escrever nossos códigos dentro dos chunks. Para inserir um chunk, utilize o atalho CTRL + ALT + I.

  • É possível adicionar campos de código utilizando a seguinte sintaxe:

```{r}
codigo em R aqui
```

Inline + Formatação

especies <- palmerpenguins::penguins |> 
  dplyr::pull(species) |> 
  unique() |>
  knitr::combine_words(and = " e ", oxford_comma = FALSE)

pi_bonitinho <- round(pi, 2)
pi_reais <- scales::dollar(pi, prefix = "R$ ", decimal.mark = ",", big.mark = ".")

A base dos pinguins tem 344 linhas. Os pinguins estudados na base são Adelie, Gentoo e Chinstrap. O Pi é mais ou menos 3.14 e isso é Pi reais: R$ 3,14.

Personalizar templates

styles.css

Material de consulta: Livro: Ciência de Dados em R - Seção sobre R Markdown

YAML

  • Os arquivos .qmd ou .Rmd começam com códigos em yaml/yml.

  • Esse “bloco” de código é delimitado por ---.

  • Apresenta metadados e parâmetros utilizados para gerar o documento final.

---
title: "Relatórios automáticos"
subtitle: "Observatório de Pessoal"
author: "CGINF"
date: "Março de 2021"
output: xaringan::moon_reader
---

Render!

  • Para gerarmos o relatório na extensão desejada, precisamos renderizá-lo, isto é, transformar o arquivo .qmd ou .Rmd em um PDF, HTML ou Word.

  • Isso pode ser feito no RStudio a partir dos botões Knit (.Rmd) ou Render (.qmd), que fica logo acima do script, ou pelo atalho CTRL + SHIFT + K.

O que acabamos de fazer

Fontr: Blog do Yihui Xie

Fonte: quarto.org

Principais saídas

Ilustração por Allison Horst

Relatórios (.Rmd)

HTML

output: html_document

Word (.docx)

output: word_document

Relatórios (.qmd)

HTML

format: html

Word (.docx)

format: docx

Relatórios (.Rmd)

PDF (com \(\TeX\))

output: pdf_document

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios (.qmd)

PDF (com \(\TeX\))

format: pdf

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios

PDF com o pacote Pagedown

output: html_document
knit: pagedown::chrome_print

Ou utilize a função pagedown::chrome_print() em um relatório em HTML:

pagedown::chrome_print("relatorio.html")

Obs: Por enquanto não existe uma alternativa Quarto a isso.

Apresentações (.Rmd)

  • Powerpoint
output: powerpoint_presentation
  • HTML
output: xaringan::moon_reader

Apresentações (.qmd)

  • Powerpoint
format: pptx
  • HTML
format: revealjs

Resumo

  • Podemos escrever arquivos com código, resultados, textos, imagens, etc.

  • O mesmo conteúdo pode ser disponibilizado em diferentes tipos de saída.

  • Nos metadados (yaml) do arquivo .Rmd ou .qmd, definimos a saída no parâmetro output.

  • Mais saídas e comparação completa:

Infográficos Utilzando o Python

https://plotly.com/python/getting-started/#plotly-charts-in-dash


import plotly.express as px
fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2])
fig

Infográficos Utilzando o Python

https://plotly.com/r/getting-started/

library(plotly)
fig <- plot_ly(midwest, x = ~percollege, color = ~state, type = "box")
fig

Inspiração para os gráficos

-https://docs.bokeh.org/en/latest/docs/gallery.html

-https://twitter.com/search?q=%23TidyTuesday&src=saved_search_click

Outras possibilidades de Infográficos

Podemos encontrar infográficos construídos com ggplot2 e personalizarmos para nossa análise

Exemplo:

https://github.com/z3tt/TidyTuesday/tree/main/plots

Compartilhando os resultados

Para o caso do Observatório, a saída será um HTML e talvez um PDF.

No HTML, vamos publicar em um link e embedar no Observatório com GITHUB Pages e/ou Netlify Drop

Disponibilizar na internet

DICA IMPORTANTE: Busque nomear seus arquivos como index.html

Disponibilizar utilizando o Netlify Drop

  • https://app.netlify.com/drop

  • Gratuito

  • Para quem não usa GitHub.

  • Podemos subir uma pasta com todo o conteúdo dentro.

  • Mais fácil, mas não dá pra ficar atualizando o material depois de um jeito fácil.

Disponibilizar utilizando o GitHub

  • Gratuito!

  • Três passos:

    1. Configurar o Git e o GitHub com o RStudio - 1 vez por usuário do computador.

    2. Vincular o projeto a um repositório no GitHub - 1 vez por projeto.

    3. Ativar o GitHub Pages - 1 vez por projeto.

Disponibilizar utilizando o GitHub

    1. Precisa ter o Git e GitHub configurado com o seu RStudio (esse vídeo é útil: https://youtu.be/fiZStofJqMQ?t=2415 )
    1. O projeto precisa estar vinculado a um repositório no GitHub:
# é necessário rodar apenas uma vez
usethis::use_git()
usethis::use_github()
    1. Ativar o GitHub Pages
usethis::use_github_pages(
  branch = usethis::git_default_branch(), # branch principal
  path = "/" # ou /docs 
)
  • O endereço do site será https://seu-username.github.io/nome-repositorio/caminho-do-arquivo.html

Vamos ao R